// 用来做请求的文件 如果想整个文件都用到这个就需要在main.js中引入
import axios from "axios";
import router from "./router";


// 请求拦截
axios.interceptors.request.use(config => {
  if (localStorage.wxToken) {//// 判断是否存在token，如果存在的话，则每个http header都加上token
    config.headers.Authorization = localStorage.wxToken;
  }
  return config;

}, error => {
    return Promise.reject(error)
})



// 响应拦截
axios.interceptors.response.use(
  response => {
    // 响应成功后把结果返回回去
    return response;
  },
  error => {
    // 在响应拦截用需要做一个token过期的处理
    const { status } = error.response;
    if (status == 401) {
      alert('token过期,请重新登录!');
      //过期后清除token
      localStorage.removeItem('wxToken')
      // 页面跳转
      router.push('/login')
    } else {
      // 错误提醒
      alert(error.response.data);
      
    }

    // 方法返回一个带有拒绝原因reason参数的Promise对象。
    return Promise.reject(error);
  }
);




// 导出整个axios
export default axios;
